Hệ thống đặt hàng thực phẩm trong Php
1 <?php
2 include 'includes/connect.php';
3 include 'includes/wallet.php';
4 $continue=0;
5 if($_SESSION['customer_sid']==session_id())
6 {
7 $ticket_id = $_GET['id'];
8 $sql1 = "SELECT * FROM tickets where poster_id = $user_id AND id = $ticket_id AND not deleted;";
9 if(mysqli_num_rows(mysqli_query($con,$sql1))>0){
10 $row = $con->query($sql1)->fetch_assoc();
11 $type = $row['type'];
12 $subject = $row['subject'];
13 $description = $row['description'];
14 $date = $row['date'];
15 $status = $row['status'];
16 $continue=1;
17 }
18 else
19 $continue = 0;
20 }
21 if($continue){
22 ?>
23
24 <!DOCTYPE html>
25 <html lang="en">
26
27 <head>
28 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
29 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
30 <meta http-equiv="X-UA-Compatible" content="IE=edge">
31 <meta name="msapplication-tap-highlight" content="no">
32 <title>Ticket No. <?php echo $ticket_id.' - '. $type;?></title>
33
34 <!-- Favicons-->
35 <link rel="icon" href="images/favicon/favicon-32x32.png" sizes="32x32">
36 <!-- Favicons-->
37 <link rel="apple-touch-icon-precomposed" href="images/favicon/apple-touch-icon-152x152.png">
38 <!-- For iPhone -->
39 <meta name="msapplication-TileColor" content="#00bcd4">
40 <meta name="msapplication-TileImage" content="images/favicon/mstile-144x144.png">
41 <!-- For Windows Phone -->
42
43
44 <!-- CORE CSS-->
45 <link href="css/materialize.min.css" type="text/css" rel="stylesheet" media="screen,projection">
46 <link href="css/style.min.css" type="text/css" rel="stylesheet" media="screen,projection">
47 <!-- Custome CSS-->
48 <link href="css/custom/custom.min.css" type="text/css" rel="stylesheet" media="screen,projection">
49
50 <link href="js/plugins/perfect-scrollbar/perfect-scrollbar.css" type="text/css" rel="stylesheet" media="screen,projection">
51 <style type="text/css">
52 .input-field div.error{
53 position: relative;
54 top: -1rem;
55 left: 0rem;
56 font-size: 0.8rem;
57 color:#FF4081;
58 -webkit-transform: translateY(0%);
59 -ms-transform: translateY(0%);
60 -o-transform: translateY(0%);
61 transform: translateY(0%);
62 }
63 .input-field label.active{
64 width:100%;
65 }
66 .left-alert input[type=text] + label:after,
67 .left-alert input[type=password] + label:after,
68 .left-alert input[type=email] + label:after,
69 .left-alert input[type=url] + label:after,
70 .left-alert input[type=time] + label:after,
71 .left-alert input[type=date] + label:after,
72 .left-alert input[type=datetime-local] + label:after,
73 .left-alert input[type=tel] + label:after,
74 .left-alert input[type=number] + label:after,
75 .left-alert input[type=search] + label:after,
76 .left-alert textarea.materialize-textarea + label:after{
77 left:0px;
78 }
79 .right-alert input[type=text] + label:after,
80 .right-alert input[type=password] + label:after,
81 .right-alert input[type=email] + label:after,
82 .right-alert input[type=url] + label:after,
83 .right-alert input[type=time] + label:after,
84 .right-alert input[type=date] + label:after,
85 .right-alert input[type=datetime-local] + label:after,
86 .right-alert input[type=tel] + label:after,
87 .right-alert input[type=number] + label:after,
88 .right-alert input[type=search] + label:after,
89 .right-alert textarea.materialize-textarea + label:after{
90 right:70px;
91 }
92 </style>
93 </head>
94
95 <body>
96 <!-- Start Page Loading -->
97 <div id="loader-wrapper">
98 <div id="loader"></div>
99 <div class="loader-section section-left"></div>
100 <div class="loader-section section-right"></div>
101 </div>
102 <!-- End Page Loading -->
103
104 <!-- //////////////////////////////////////////////////////////////////////////// -->
105
106 <!-- START HEADER -->
107 <header id="header" class="page-topbar">
108 <!-- start header nav-->
109 <div class="navbar-fixed">
110 <nav class="navbar-color">
111 <div class="nav-wrapper">
112 <ul class="left">
113 <li><h1 class="logo-wrapper"><a href="index.php" class="brand-logo darken-1"><img src="images/materialize-logo.png" alt="logo"></a> <span class="logo-text">Logo</span></h1></li>
114 </ul>
115 <ul class="right hide-on-med-and-down">
116 <li><a href="#" class="waves-effect waves-block waves-light"><i class="mdi-editor-attach-money"><?php echo $balance;?></i></a>
117 </li>
118 </ul>
119 </div>
120 </nav>
121 </div>
122 <!-- end header nav-->
123 </header>
124 <!-- END HEADER -->
125
126 <!-- //////////////////////////////////////////////////////////////////////////// -->
127
128 <!-- START MAIN -->
129 <div id="main">
130 <!-- START WRAPPER -->
131 <div class="wrapper">
132
133 <!-- START LEFT SIDEBAR NAV-->
134 <aside id="left-sidebar-nav">
135 <ul id="slide-out" class="side-nav fixed leftside-navigation">
136 <li class="user-details cyan darken-2">
137 <div class="row">
138 <div class="col col s4 m4 l4">
139 <img src="images/avatar.jpg" alt="" class="circle responsive-img valign profile-image">
140 </div>
141 <div class="col col s8 m8 l8">
142 <ul id="profile-dropdown" class="dropdown-content">
143 <li><a href="routers/logout.php"><i class="mdi-hardware-keyboard-tab"></i> Logout</a>
144 </li>
145 </ul>
146 </div>
147 <div class="col col s8 m8 l8">
148 <a class="btn-flat dropdown-button waves-effect waves-light white-text profile-btn" href="#" data-activates="profile-dropdown"><?php echo $name;?> <i class="mdi-navigation-arrow-drop-down right"></i></a>
149 <p class="user-roal"><?php echo $role;?></p>
150 </div>
151 </div>
152 </li>
153 <li class="bold"><a href="index.php" class="waves-effect waves-cyan"><i class="mdi-editor-border-color"></i> Order Food</a>
154 </li>
155 <li class="no-padding">
156 <ul class="collapsible collapsible-accordion">
157 <li class="bold"><a class="collapsible-header waves-effect waves-cyan"><i class="mdi-editor-insert-invitation"></i> Orders</a>
158 <div class="collapsible-body">
159 <ul>
160 <li><a href="orders.php">All Orders</a>
161 </li>
162 <?php
163 $sql = mysqli_query($con, "SELECT DISTINCT status FROM orders WHERE customer_id = $user_id;");
164 while($row = mysqli_fetch_array($sql)){
165 echo '<li><a href="orders.php?status='.$row['status'].'">'.$row['status'].'</a>
166 </li>';
167 }
168 ?>
169 </ul>
170 </div>
171 </li>
172 </ul>
173 </li>
174 <li class="no-padding">
175 <ul class="collapsible collapsible-accordion">
176 <li class="bold"><a class="collapsible-header waves-effect waves-cyan"><i class="mdi-action-question-answer"></i> Tickets</a>
177 <div class="collapsible-body">
178 <ul>
179 <li><a href="tickets.php">All Tickets</a>
180 </li>
181 <?php
182 $sql = mysqli_query($con, "SELECT DISTINCT status FROM tickets WHERE poster_id = $user_id;");
183 while($row = mysqli_fetch_array($sql)){
184 echo '<li><a href="tickets.php?status='.$row['status'].'">'.$row['status'].'</a>
185 </li>';
186 }
187 ?>
188 </ul>
189 </div>
190 </li>
191 </ul>
192 </li>
193 <li class="bold"><a href="details.php" class="waves-effect waves-cyan"><i class="mdi-social-person"></i> Edit Details</a>
194 </li>
195 </ul>
196 <a href="#" data-activates="slide-out" class="sidebar-collapse btn-floating btn-medium waves-effect waves-light hide-on-large-only cyan"><i class="mdi-navigation-menu"></i></a>
197 </aside>
198 <!-- END LEFT SIDEBAR NAV-->
199
200 <!-- //////////////////////////////////////////////////////////////////////////// -->
201
202 <!-- START CONTENT -->
203 <section id="content">
204
205 <!--breadcrumbs start-->
206 <div id="breadcrumbs-wrapper">
207 <div class="container">
208 <div class="row">
209 <div class="col s12 m12 l12">
210 <h5 class="breadcrumbs-title">Provide Order Details</h5>
211 </div>
212 </div>
213 </div>
214 </div>
215 <!--breadcrumbs end-->
216
217
218 <!--start container-->
219 <div class="container">
220 <p class="caption">Receipt</p>
221 <div class="divider"></div>
222 <!--editableTable-->
223 <div class="section">
224 <?php
225 echo '<ul id="task-card" class="collection with-header">
226 <div id="card-alert" class="card cyan">
227 <div class="card-content white-text">
228 <span class="card-title white-text darken-1">Ticket No. '.$ticket_id.'</span>
229 <p><strong>Subject: </strong>'.$subject.'</p>
230 <p><strong>Status: </strong>'.$status.'</p>
231 <p><strong>Type: </strong>'.$type.'</p>
232 </div>
233 <div class="card-action cyan">
234 <form method="post" action="routers/ticket-status.php">
235 <input type="hidden" name="ticket_id" value="'.$ticket_id.'">
236 <input type="hidden" name="status" value="'.($status != 'Closed' ? 'Closed' : 'Open').'">
237 <button class="waves-effect waves-light deep-orange btn white-text" type="submit" name="action">'
238 .($status != 'Closed' ? 'Close<i class="mdi-navigation-close"></i>' : 'Reopen<i class="mdi-navigation-check"></i>').'
239 </button>
240 </form>
241 </div>
242 </div>
243 </ul>';
244 echo '<ul id="issues-collection" class="collection">';
245 $sql1 = mysqli_query($con, "SELECT * from ticket_details WHERE ticket_id = $ticket_id;");
246 while($row1 = mysqli_fetch_array($sql1)){
247 $sql2 = "SELECT * FROM users WHERE id = ".$row1['user_id'].";";
248 if(mysqli_num_rows(mysqli_query($con,$sql2))>0){
249 $row2 = $con->query($sql2)->fetch_assoc();
250 $name = $row2['name'];
251 $role1 = $row2['role'];
252 }
253 echo '
254 <li class="collection-item avatar">
255 <i class="'.($role1=='Administrator' ? 'mdi-action-star-rate' : 'mdi-social-person').' cyan circle"></i>
256 <span class="collection-header"> '.$name.'</span>
257 <p><strong>Date:</strong> '.$row1['date'].'</p>
258 <p><strong>Role:</strong> '.$role1.'</p>
259 <a href="#" class="secondary-content">
260 <i class="mdi-action-grade"></i></a>
261 </li>
262 <li class="collection-item">
263 <div class="row">
264 <p class="caption">'.$row1['description'].'</p>
265 </div>
266 </li>';
267 }
268 echo '</ul>';
269 if($status != 'Closed'){
270 echo '
271 <div class="card-panel">
272 <div class="row">
273 <form class="formValidate" id="formValidate" method="post" action="routers/ticket-message.php" novalidate="novalidate" class="col s12">
274 <div class="row">
275 <input type="hidden" name="role" value="'.$role.'">
276 <input type="hidden" name="ticket_id" value="'.$ticket_id.'">
277 <div class="input-field col s12">
278 <i class="mdi-action-home prefix"></i>
279 <textarea name="message" id="message" class="materialize-textarea validate" data-error=".errorTxt1"></textarea>
280 <label for="message" class="">Add a reply</label>
281 <div class="errorTxt1"></div>
282 </div>
283 <div class="row">
284 <div class="input-field col s12">
285 <button class="btn cyan waves-effect waves-light right" type="submit" name="action">Reply
286 <i class="mdi-content-send right"></i>
287 </button>
288 </div>
289 </div>
290 </div>
291 </form>
292 </div>
293 </div>';
294 }
295 ?>
296 </div>
297 </div>
298 </div>
299 </div>
300 <!--end container-->
301
302 </section>
303 <!-- END CONTENT -->
304 </div>
305 <!-- END WRAPPER -->
306
307 </div>
308 <!-- END MAIN -->
309
310
311
312 <!-- //////////////////////////////////////////////////////////////////////////// -->
313
314 <!-- START FOOTER -->
315 <footer class="page-footer">
316 <div class="footer-copyright">
317 <div class="container">
318 <span>Copyright © 2017 <a class="grey-text text-lighten-4" href="#" target="_blank">Students</a> All rights reserved.</span>
319 <span class="right"> Design and Developed by <a class="grey-text text-lighten-4" href="#">Students</a></span>
320 </div>
321 </div>
322 </footer>
323 <!-- END FOOTER -->
324
325
326
327 <!-- ================================================
328 Scripts
329 ================================================ -->
330
331 <!-- jQuery Library -->
332 <script type="text/javascript" src="js/plugins/jquery-1.11.2.min.js"></script>
333 <!--angularjs-->
334 <script type="text/javascript" src="js/plugins/angular.min.js"></script>
335 <!--materialize js-->
336 <script type="text/javascript" src="js/materialize.min.js"></script>
337 <script type="text/javascript" src="js/plugins/jquery-validation/jquery.validate.min.js"></script>
338 <script type="text/javascript" src="js/plugins/jquery-validation/additional-methods.min.js"></script>
339
340 <!--scrollbar-->
341 <script type="text/javascript" src="js/plugins/perfect-scrollbar/perfect-scrollbar.min.js"></script>
342 <!--plugins.js - Some Specific JS codes for Plugin Settings-->
343 <script type="text/javascript" src="js/plugins.min.js"></script>
344 <!--custom-script.js - Add your own theme custom JS-->
345 <script type="text/javascript" src="js/custom-script.js"></script>
346 <script type="text/javascript">
347 $("#formValidate").validate({
348 rules: {
349 message: {
350 required: true,
351 minlength: 5,
352 maxlength: 300
353 },
354 },
355 messages: {
356 message: {
357 required: "Please provide a reply.",
358 minlength: "Minimum 5 characters are required.",
359 maxlength: "Maximum 3000 characters are required."
360 },
361 },
362 errorElement : 'div',
363 errorPlacement: function(error, element) {
364 var placement = $(element).data('error');
365 if (placement) {
366 $(placement).append(error)
367 } else {
368 error.insertAfter(element);
369 }
370 }
371 });
372 </script>
373 </body>
374
375 </html>
376 <?php
377 }
378 else
379 {
380 if($_SESSION['admin_sid']==session_id())
381 {
382 header("location:view-ticket-admin.php?id=".$_GET['id']);
383 }
384 else{
385 header("location:login.php");
386 }
387 }
388 ?>